Serving Timex-Sinclair
Personal Computers
SYNTAX
A PUBLICATION OF THE HARVARD GROUP
VOL. 4 NO. 12
ISSN 0273-2696
DEC., 1983
IN THIS ISSUE
ZX/TS SUBSET OF 2068 PINS
8K Programs
Bingo . 4
Cash Register . 2 0
Cassette Label Maker... 7
Examine MC . 6
Ohm's ZXLaw . 10
ROMCALLS . 8
Unjumble Word Games... 22
2068 Programs
Firstloader — load your
ZX/TS programs and
auto-translate to the
TS 2068 . 14
Book Review
Graphics A to Z. . 10
Classified Ads . 22
Dear Editor . 12
Editorial . 4
Games . 4 ,22
Hardware Review
Memotext Specif ics ... .2 0
Zebra Joystick Adaptor. 7
Index to SYNTAX —
Nov. 80-Nov. 83 follows. 12
Machine Code . 14
New Products and
Services . 2
News . 1
Program Improvements
E-Z LOADER Fix . 2
VU-CALC Typing . 2
Software Hint
High Line Numbers . 4
Software Reviews
Tax Helper . 19
ZXLR8 . 6
Users' Groups . 2
Index of Advertisers
Simplex Software . 11
Simulusion . 21
The Harvard Group . 5
Aligned with the slot, you will find the pins
correspond exactly to the ZX/TS pinout with
three exceptions. RAM CS, ROM CS, and 9V are
missing and the corresponding pins are empty.
Pins outside the ZX/TS connector span perform
2068 functions — GND appears on 4 more pins
(30 & 32, top & bottom) and +15V on pin 3.
The lack of 9V may be the only barrier to
using ZX printers.
SPECTRUM MACHINE CODE ON 2 068
Some Spectrum MC tapes will run on your 2068,
The Fruit Machine, for example. Your chances
are better if the program is written for 48K.
Programs that call keyboard scan routines — as
IN 64510, 61438, 32766, or 65278 — will run if
you change these to INKEY$ or STICK commands
on your 2 068. Also programs written with MC
above RAMTOP are more likely to run. Because
Spectrum program memory starts lower than in
the 2068, the tape tries to load where the
2068 cannot accept it.
NEW TIMEX CONFIGURATION
OUT (ROSS) : IN(X) : NEW: GOTO start: seems to
be the BASIC command line issued by Timex'
visionary chairman, T. Fred Olsen. As the UK
press report Sinclair's disappointment with
results in the US market and a giant new deal
with China, the Waterbubble Works is getting
the message: patience is a limited virtue.
TIMEX-SINCLAIR USER RESTRUCTURING
Organization of ECC's North American magazine
will be restructured, according to observers
close to the scene, but no decision has been
taken to stop printing. Changes will delay
issue 8, for which ECC apologizes.
HAPPY HOLIDAYS TO OUR READERS FROM SYNTAX
1
E-Z LOADER SOFTWARE BUG FIX
Repair your E-Z Loader by just
doing these simple steps:
o
LOAD
E-Z LOADER
o
STOP
the program (press shift
NL)
0
POKE
16609,0
0
POKE
16610,0
0
POKE
16611,0
o
POKE
16612,0
o
EDIT
line 2, changing inverse
to normal R.
0
SAVE
the program using GOTO 2
Now when you reload and execute the
program, it works properly.
This fix eliminates the double
occurrence of 80 hex at the end of
the variables area by substituting
NOPs for the erroneous E-Z LOADER
code at locations 16609-12.
Ed Gidley, APO NY
SPEED VU-CALC KEYING
As written, VU-CALC delays 0.5
seconds after each keypress. This
fix eliminates the delay and simply
checks to see if you released the
key. If you hold the key more than
0.5 second, it repeats.
POKE 17458,6
POKE 17459,150
POKE 17460,197
POKE 17461,205
POKE 17462,187
POKE 17463,2
POKE 17464,193
POKE 17465,44
POKE 17466,200
POKE 17467,16
POKE 17468,247
POKE 17469,2 01
VA
Greg Pfountz, Roanoke
NEW PRODUCTS AND SERVICES
TAG Software offers 5 educational
programs written in ZX/TS BASIC.
For children and young adults, the
packages reveal details of program
structure. Topics include math,
geography, and science. Call
203/723-2479 or write TAG Software,
POB 688, Naugatuck, CT 06770.
WORD SINC II+, ZX/TS software word
processor provides 42-character
printout on ZX or TS2040 printers.
Functions include: right- justify,
search, replace, delete, move,
insert, expand print, select page
length, number pages. Provides
full character set & punctuation,
can use 16-48K memory, auto-repeat
keys, and fast keyscan. Embeds
control codes in text and uses 32-
character, upper-case-only screen.
$20 PPD from Gesang Associates, POB
452, Randallstown , MD 21133.
Intercontroller gives you 4 110V
outlets individually controlled by
your ZX/TS using BASIC ($99.95).
Requires Softbox expansion port,
($59.95) which provides 4 software-
selected slots for intercontrollers
or other accessories, powers your
computer, and contains an extra
peripheral port. Needs a flexible
ribbon connector ($17.95). Phone
orders 617/738-5310, or write to
Intercomputer, Inc., 358 Chestnut
Hill Ave., Boston, MA 02146.
PAYOFF & PAYOUT, two personal money
management programs, analyze your
credit costs and spending patterns.
PAYOFF accepts 12 charge accounts,
which may have two interest rates
per account, and shows balances,
time to payoff, finance charges,
and monthly payments. PAYOUT uses
named expense categories to record
and compare your quarterly spending
patterns. Both print details and
summaries, and require 16K. $12.95
PPD from ACE SOFTWARE, 2 East Oak
Avenue, Moorestown, NJ 08057.
ZX/TS USERS' GROUPS
Memphis, TN: Memphis User Group,
New contact person: Andy Boles,
3791 Barron Ave., Memphis, TN 38111
901/346-0890
Victoria, BC: Victoria Sync Assoc.
Mr. Dee Schoolingin, Sec-Treas.,
942 Cloverdale Ave., Victoria, BC,
Canada, V8X 2T6
2
PRO/FILE Updates starts publishing
in Dec. 83 — first issue tells how to
make ZX PRO/FILE work with the CAI
stringy floppy and how to preserve
data when increasing memory. Four
issues yearly, $9.95 — devoted to
support of ZX PRO/FILE. Order from
Thomas B. Woods, POB 64, Jefferson,
NH 03583. Tel: 603/586-7734.
Programmer's Utility EPROM for the
Hunter NVM gives you 8 routines:
renumber, copy (a block of BASIC),
search for all occurrences of input
string, delete blocks of lines, REM
killer (by block), merge, free mem,
& stop autorun program. One USR
call takes you to menu and prompts.
Relocates to any socket. $18.50 in
US & Canada; $20 elsewhere, PPD.
Delphic Enterprises, POB 72205,
Corpus Christi, TX 78472.
HOT Z-II, revised, expanded to give
assembly-language editor, labelling
disassembler, single-step debugger.
Checks syntax of Z80 mnemonic entry
& relocates MC (including itself)
can be put on EPROM. Cassette with
16 & 64K versions. Documentation
(30pp+) explains how to customize.
Current owners upgrade for $15.00.
$24.95 + $2 P&H from Sinware, Box
8032, Santa Fe, NM 87504.
Computer Phone Book lists over 400
personal computer databases and
explains how to access them. (Not
all will be compatible with ZX/TS
machines.) ISBN 0-452-25446-9, at
bookstores, $9.95 US/$12.50 Canada
Pressure-sensitive thermal labels
for TS2 04 0, CAI P4 0, or Alphacom
printer. Fan-folded in 1000s for
$24.95. E. Arthur Brown Company,
1702 Oak Knoll Drive, Alexandria,
MN 56308. 612/762-8847
Games for Your Timex-Sinclair 1000
Games for Your Timex-Sinclair 2 000
From Dell, available at bookstores,
each contains at least 20 games and
several pages of hints for changing
them. $5.95 US/$7.50 Canada
Sue Currier announces four programs
for the 2068 — available now, Zeus
Assembler provides full-screen edit
plus insert, delete, clear line and
clear screen, auto line number with
renumber, list, and search. Usable
with printer. Personal Accountant
includes 3 programs — bookkeeping,
amortization, and address files.
Bookkeeping does double-entry books
from an entry of one amount and two
account names. The reports section
presents trial balance, expense
accounts, assets and liabilities,
and income and expense recap. Each
can be printed. Amortization does
payment or interest schedules and
can print the results. Address
files let you keep 3 lines of 40
characters for name and address as
well as 2 40-charadter note lines.
Gulpman provides 15 mazes and
9 levels of play in X-man format
with sound and graphics. This one
can use joysticks.
If you yell in the Cyberzone,
the lasers fire! You use your tape
recorder as an amplifier to achieve
voice control in this game, which
is also joystick-compatible.
Expect 2-3 more releases — one
will be a Monitor-disassembler — in
about a month. Softsync, Inc.,
14 E. 34th St., NY, NY 10016.
212/685-2080
Five ZX/TS releases include
Casino Keno uses 80-number board,
displays payoff on demand ($17.95).
Money Management balances checkbook
without duplicating check Register
($12.95). Loan Finance calculates
installment payments for both fully
amortized and credit card loans
($14.95). Bond Yields accounts for
coupon income and capital gains to
output taxable income, current and
maturity yields ($10.95). Bond
Yields with T-Bill Bond Equivalent
Yields includes all bond functions
plus converting T-Bill quoted rates
to bond equivalents ($14.95). Add
$2 P&H for each cassette. MACSHAK
SOFTWARE, 73-312 Ironwood Street,
Palm Desert, CA 92260.
3
HIGH LINE NUMBERS
BINGO CARD GENERATOR — 8K/2K
Did you know your machine does
not limit you to 9999 BASIC lines?
If you attach enough memory,
you can create up to 16383 lines.
The system won't edit lines with
statement numbers greater than
9999, but you can create higher
numbered lines by POKEing the line
numbers into the BASIC line.
Your computer executes and
lists these lines. The line after
9999 appears as A000; the highest
line, 16383, as G383. GOTOs and
GOSUBs to high lines work fine.
(Use the decimal form in GOTOs
and GOSUBs — KO.)
Since you must POKE the line
number, to most easily generate a
high line, enter it as the lowest
line in your program, then POKE the
high byte, always located at 16509
for the first line.
Enter the following lines to
see how it works:
255 PRINT "TOP"
POKE 16509,63
254 PRINT "ALMOST"
POKE 16509,63
253 PRINT "AT THE"
RUN
9999 GOTO 16383
RUN
Dave Wood, Lexington, MA
(Reprinted by permission from the
Boston Computer Society Sinclair
Timex newsletter.)
EDITORIAL
Act now — call 1-800/24-TIMEX to ask
for customer product support,
o Say what you want — software or
hardware manuals, connector pinouts
or schematics, service or technical
manuals, ROM source code — whatever,
o Don't justify your request,
o Leave your name and address,
o Avoid threats of complaints to
the FTC, Attorneys General, or
Postal Officials — allow Timex the
chance to consider its options,
o Be brief, calm, and polite — KO.
One day we needed bingo cards
in a hurry. This program arose out
of necessity to generate regulation
bingo cards.
Non-bingo players may find the
quick way it generates random num¬
bers interesting. I set up the
numbers I want the computer to sel¬
ect from in variable X$. The com¬
puter takes random slices from the
string to get the random sequence,
assuring non-repeating numbers. I
find this method superior to con¬
ventional random number choosers
that compare each number generated
to all those that came before it.
I use the COPY command in the
immediate mode to print the bingo
card, but you can add 135 COPY for
automatic printing.
Frank Terranella, Sloatsburg, NY
SYNTAX HAS ARRANGED THE FOLLOWING HOLIDAY PROMOTION WITH MINDWARE INC. ! !
SjC PRICES NEVER AGAIN TO BE REPEATED ^
THE MW-100 PLAIN PAPER PRINTER THOUSANDS SOLD AT $119.95 - SPECIAL CLOSE-OUT
SPECIAL CLOSE-OUT PRICE - $49.95 plus $4.95 for shipping.
90 day parts warranty. All units are factory original.
Mindware’s MW-1 00 gives you the
ability to make hard copies
of programs, data, mailing
lists, and screen
graphics
PRINTER IS
COMPATABLE WITH :
$49.95
SINCLAIR ZX-81
TS-1000
TS-1500
plus $4.95 for
shipping
BUSINESS SOFTWARE SPECIAL :
Choose any combination of three from the following ten programs - Retail Value up to $74.85
sags
m
m
MATRIX THE FAST ONE
PLANNER Store, organize
An all-purpose and retrieve
electronic data instantly
spreadsheet $24.95
$22.95
Z-TEXT INVENTORY
A useful word CONTROL
processing Two ways to
program keep track of
$19 95 inventories.
$22.95
FORECASTING SLIDE SHOW
GRAPHS Creates and
Analyzes runs video
growth display shows
trends and $22.95
plots graphs
$22.95
CRTTICAL NUMERIC
PATH Solves math
Gets complex formulas and
scheduling draws graphs
under control $24.95
$19.95
TOOLKIT SCREEN KIT
Shortcut Routines to
commands for enhance
programmers screen
$19.95 displays
$19.95
any 3 assorted for
$34.95
plus $4.95 for
shipping
SPECIAL
* PRINTER & SOFTWARE BUNDLE *
* ANY 3 PROGRAMS & THE MW-100 PRINTER *
* JUST $79.95 plus$4 . 95 shipping! ! *
GAME SOFTWARE SPECIAL:
Choose any combination of three from the following nine programs - Retail Value up to $51.85
MONITOR GULP
Tests and Gobble your
debugs way through
programs in mazes, chased
machine code by ogres
$19.95 $15.95
LABYRINTH PILOT
Can you find Cockpit
your way controls
through that teach you
3-0 corridors9 howto
$15 95 navigate
$1995
GRAPHIC GOLF CROSSWORD
A challenging Create and play
18-hole your own
golf course crosswords
$9.95 $15.95
ANAGRAMS WORD TEST
Try to put the All kinds of
scrambled question and
words answer tests,
back in order $15.95
$15.95
■an
c-P^
#' + •
MULTIPLE COSMOS
CHOICE Hyperspace
Can you pick laser battles
the correct among the
answer? stars!
$15.95 $15.95
any 3 assorted for
$26.95
plus $4.95 for
shipping
Phone and written orders gladly accepted.
Money Orders, VISA, MC or checks.
Phone Number - 617-456-3661
Call or write ; The Harvard Group, Dept. ESX
R. D. 2, Box 457
Harvard, MA 01451
EXAMINING MACHINE CODE — 8K/1K
When working with machine code
in USR routines, you need a conven¬
ient way to check and edit it. Add
this program to the end of another
program with MC subroutines. It
lets you easily look at any address
in memory, leave it alone or change
its contents, and automatically go
to the next address. On request it
returns to the previous address.
Because the routine uses
INKEY$ for data entry, run it in
SLOW. This method also lets it
interpret each character as typed
instead of waiting for ENTER.
Give the program a starting
address. It prints that address
and its contents. To change the
contents, enter a one- to three-
digit decimal value. If you enter
three digits, the computer goes on;
if fewer, press ENTER to continue.
Leave the contents unchanged by
pressing ENTER. Go back to the
previous address by pressing /. I
find the / character convenient on
my keyboard, but you can change
line 9565 to check for a more
convenient key.
Stop the program anytime by
pressing BREAK. You can then run
it again with another address.
If you prefer to enter and see
data as two-digit hex numbers, sub¬
stitute the following lines:
Nels Anderson, Framingham, MA
SOFTWARE REVIEW
Program: ZXLR8 Fast SAVE/LOAD
System
Type: Utility
ROM/RAM: 8K/16K
Written in: MC, BASIC
Listable? Yes
From: Advanced Interface Designs
P.O. Box 1350
State College, PA 16801
Price: $11 on tape, $21 on EPROM
ZXLR8 , a versatile and reli¬
able fast SAVE/LOAD cassette stor¬
age system, not only quickly SAVES
programs, but also arrays, graphics
and binary data (machine code). In
addition, you get tape indexing and
error checking routines. In all,
you get 11 tape system commands
plus a calibration program to find
the best baud rate for your parti¬
cular system.
After LOADing, the BASIC pro¬
gram asks for a timing and calibra¬
tion value, then for a starting
location for the MC, letting you
put the routines in any safe RAM.
After transferring the MC to the
specified address, the computer
erases the BASIC program and clears
the workspace.
ZXLR8's excellent manual gives
you 22 pages of thorough, lucid
documentation .
I encountered only one problem
with the system: a bad copy on
side one of the cassette. Side two
LOADed relatively easily.
I recommend ZXLR8 — at only $11
for the tape, it's a bargain.
6
Len Harmon, Metairie, LA
HARDWARE REVIEW
Product: Joystick Adaptor
For: Any size system
From: Zebra Systems
78-06 Jamaica Ave.
Woodhaven, NY 11421
212/296-2385
Price: $19.95 + P&H
Zebra's plug-in joystick adap¬
tor, a small (1.5"x5,,x0.5") module,
lets you attach an Atari-style joy¬
stick to your ZX/TS. The unit plugs
onto the rear edge connector and
provides another standard ZX/TS
connector on its backside for other
peripherals. The traces run
straight through without buffers.
A standard 9-pin socket (D9S) ex¬
tends from the unit's left side to
connect your joystick.
Zebra wired the unit as a
direct-connected input port addres¬
sable by any I/O READ request for
addresses below port 32 decimal (20
HEX). That is, when A5 , A6 , & A7 ,
as well as IOREQ and RD go LOW, the
port is selected. A single IC on
the small PC board performs decod¬
ing and selection. Zebra scraped
off the ID numbers of this lone IC,
but a quick check of the required
decoding makes the identification
of the chip's logic fairly simple.
I found both the electronic
design and physical construction
very basic. The unit attaches
directly (though Zebra provides
protection diodes) to the D'n lines
to indicate which internal switches
on the joystick are closed. The
port is thus neither buffered nor
uniquely addressed and this could
cause problems if you use other 10
mapped peripherals at the same
time. Zebra says they didn't know
of any potential conflicts in port
numbers when they designed the
adaptor. If any show up they will
advise potential users.
Construction looks like "home
workshop" type, with some messy
solder blobs, short insulation and
other minor construction flaws.
Four pages of documentation
come with the unit. Although they
contain a few typos, the booklet
does a good job of explaining the
unit's capabilities. On the nega¬
tive side, it provides no schematic
and does not mention the partial
decoding of the port number.
You must address the unit with
a USR call, which non-machine code
programmers could find a bother.
Also, while you can return to BASIC
with the "value" of the activated
joystick (with 8 axes), the speed
with which BASIC can sort out your
response is just too slow for any
kind of real arcade action. Zebra
will respond to the problem of
applying their joysticks to exist¬
ing software by publishing a list
of program "patches" to modify your
software to use the adaptor. They
advised me that patches now exist
for Flight Simulator, Dragons,
Mazogs and 3-D Monster Maze.
Despite these few negatives, I
find the unit worth $2 0.00. You
get fair value for your money, even
as just a joystick port. I find
other potential uses more exciting:
cursor control for the handicapped,
connection to a $20.00 light pen
and an inexpensive 5-line input de¬
vice for use in security and
monitoring applications.
Paul Donnelly, Centreport, NY
CASSETTE LABEL MAKER — 8K/16K
. /
This program lets you design a
three-line label on the screen with
all characters available, then just
hit "C" to copy as many labels as
needed on the printer.
Once printed, you need only a
pair of scissors and a little glue
for really professionally labeled
cassettes .
Lee E. Gayman, Mechanicsburg , PA
E. Arthur Brown now offers thermal
mailing labels for the 2040, $24.95
for 1000 (New Products this issue).
7
In testing this program, we
found you can edit, rather than re¬
enter, when the messages of lines
620 or 640 appear. Do this:
o Move the cursor right
o Key: , + "lst" + xx$ (aTOb) +,,2nd,M
o Press ENTER (or NEWLINE)
where 1st and 2nd stand for any
string you want to add in those
positions. Replace xx with X for
the first line, Y for the second,
or Z for the third. Use your
choice of positions for a and b to
slice the string you want to edit.
Hit BREAK to exit. — KO
10 REM
8K ROMCALLS — 8K/16K
Why reinvent the wheel? Sin¬
clair put useful machine code rou¬
tines in its 8K ROM. Some of us
use these routines to great advan¬
tage by CALLing them from machine
code. You might like to know the
ROM contains 295 unconditional and
27 conditional CALLS, what address
calls them, and where they reside.
This program first scans the
ROM up to 7679, building a stack of
CALLED and CALLING addresses. Then
it sorts and displays them. Since
it does lots of work, the first two
phases take about 20 minutes. The
printing procedure follows.
You can see the calls in lines
120-140. All Z80 conditional calls
use decimal codes of 196 or greater
at intervals of 8. Line 140 checks
for these, sending all other codes
through. Since no call uses values
below 196, line 120 shunts lower
values around the loop. Code 205
means an unconditional call; line
8
130 sends this address directly to
the call processing routine.
Calls for the Z80 processor:
Value
Call
196
NZ ,NN
2 04
Z ,NN
2 05
NN
212
NC ,NN
220
C ,NN
228
PO,NN
236
PE ,NN
244
P,NN
252
M,NN
Run the program once, SAVE it.
Then GOTO 1 000 to review the list
(do not RUN). GOTO 2000 LPRINTs
the entire list of 322 addresses.
Martin H. Irons, Goshen, NY
EXAMINE THE ROUTINES IN CONTEXT:
this program assumes every byte is
instruction — not text or address.
Our modifications to this program
limit the addresses to those within
the ROM and do not scan addresses
above the last return in the ZX/TS
or Spectrum ROMs. We also changed
the formula for V$ to permit five¬
digit addresses.
SYNTAX translated this program with
Firstloader (this issue) and found
the following modifications needed:
LINE
CHANGE
CAUSE
10
DIM (800,10)
ROM
SIZE
30
Delete, was
FAST
MACH
SPEC
100
...TO 14446
ROM
SIZE
230
. . . STR$ (V)+
ROM
SIZE
(STR$ (1+100000)) (2T06 )
240
. . .>9. . .
ROM
SIZE
102 0
...23689...
MACH
SPEC
107 0
... TO 5 ... 6
TO 10
ROM
SIZE
2060
... TO 5 ... 6
TO 10
ROM
SIZE
Spectrum & 2068 use
23689
in 1020.
9
OHM'S ZXLAW - 8K/16K
ZXlaw calculates 4 functions
of Ohm's law: Power (P) in Watts,
Current (I) in Amps, Voltage (V) in
Volts & Resistance (R) in Ohms.
RUN. Input known values as
asked (0 if unknown). After you
enter two non-zero values, your
ZX/TS calculates the other two and
displays all four. Press any key
to continue — BREAK to stop.
Brad Hogg, Swan River, MB, Canada
Type in line 0 as line 1. Then POKE
16510,0. Continue as usual. — AZ
; R F M 0 H M 5 aL X L Pi U ( C )
BOOK REVIEW
Title: Graphics: A to Z.
Author: Paul Bingham, Rick Goulian
From: PleasanTrees Programming
7760 N. Hopdown
Tucson, AZ 85741
Price: $17.95 ppd., 190 pgs.
This tutorial manual starts at
crude BASIC PRINT statement graph¬
ics and goes to machine code graph¬
ic subroutines. It assumes reason¬
able familiarity with ZX/TS BASIC.
It begins with a slow but not tedi¬
ous explanation of basic graphic
PRINTing and PLOTting and rapidly
builds to a MC subroutine blitz.
Starting chapters give pro¬
grams and explanations to draw
Ernie of Sesame St. and mathema¬
tical designs (17 examples), print
big characters, perform Etch-a-
Sketch functions plus horizontal
and vertical bar graphing. Chapter
3 covers the screen format, POKEing
for faster action, scrolling, and
lO
begins Z80 MC routines with a neat
block transfer operation.
Chapter 4, Animation, starts
the action, explaining elementary
blending technique — printing one
character over another in quick
succession to simulate motion. The
flip-book method covered next makes
a main canvas in high memory that
includes all your graphic elements,
then bringing whole blocks of can¬
vas onto the screen at once.
Chapter 5 separates the ad¬
vanced second section, covering
miscellaneous, interesting topics:
sound generation (using an MC driv¬
er through the TV screen), reset¬
ting RAMTOP without losing vari¬
ables, line numbers beyond 9999,
line number 0 and an array of mis¬
takes that cause spectacular
crashes. This chapter also wastes
a few pages discussing a compiler.
Perhaps the most powerful two
chapters follow next, disecting
Memotech's HRG (hi-res graphics)
packages. The listing alone takes
23 pages and gives memory locations
and codes for the HRG. This can
help HRG owners understand their
$99 unit and use it better. I
doubt the unscrupulous will enter
the code, transfer it to EPROM and
cheat Memotech of well deserved
income — it takes about 7,000 key¬
strokes just to enter the code.
Finally, chapters 8 and 9 deal
with MC in REM statements, using
the ROM print routines and advanced
screen printing techniques with
animation in MC. The final chap¬
ters look tacked on; MC listings
given seem virtually undocumented.
I found a few typos in the
book and though most programs con¬
tained REM lines, the accompanying
text reasonably documented them. I
felt a little short-changed by the
last two chapters and would like to
see them expanded.
Overall I consider Graphics:
A to Z a fine treatment of the
subject — an 8 on my l-to-10 scale.
Paul Donnelly, Centreport, NY
For 16k TS1000, 1500 & ZX81
20 Programs
on 2 cassette tapes
for the amazingly low price of
not $39.95.. .not S29.95...0NLY $19.95
FREE TRIAL OFFER!
An Interview with Terrel S. Kareem, President
_ Simplex Software, (San Francisco, California) _
Question: How can you afford a free trial offer of a software package
with 20 programs on 2 cassette tapes for the price many firms are
charging for a single program?
Answer: I believe nearly all software on the market today is overpriced.
Most companies attempt to market a wide range of software, and thus have
high inventory and marketing expenses. In addition these individual prog¬
rams appeal to only a limited segment of the market. With the HOME-
PAC, however, we have only one package to manage, and it appeals to a
wide audience. We compensate for our lower margin by our higher volume.
Furthermore, we have no programmers to pay since I personally wrote all
the programs.
Question: What qualified you to write such a variety of
programs?
Answer: To begin with, over 20 years of computing experience, including
building a personal computer for my high school science fair in 1963. But
being a computer expert does not, by itself, qualify one to create a quality
home software variety package. My experience as an educator, a business¬
man and a parent did that.
Question: With so much computer experience yourself, is the HOME-
PAC too complicated for the first time user?
Answer: On the contrary. The HOME-PAC is the ideal first software pack¬
age for the beginner. All the programs are easy-to-use (user friendly) and
the 21 page illustrated user manual makes running them a snap. In fact, the
entire HOME-PAC was developed with the beginning user in mind.
Question: What types of programs are on the HOME-PAC?
Answer: All types. Recreational, games, educational, home finance, scien¬
tific & utility. Programs such as BIORHYTHMS, ANIMALS, STATIS¬
TICS, STAR INVADER, CHECKBOOK BALANCER, LOAN ANALY¬
SIS, COMPU-SKETCH, to name just a few.
Question: How does this offer differ from the popular software maga¬
zine offers?
Answer: A number of ways. First, you don’t have to wait 12 months for
all the programs you paid for to arrive. They are all shipped immediately.
Second, you get a money back guarantee with the HOME-PAC. Third, and
perhaps best of all, the programs and instructions are much higher in quali¬
ty. But don’t take our word for it, try our 10 day free trial.
Question: How does your free trial offer work?
Answer: The HOME-PAC is such a tremendous value, that we are offering
a no risk 10 day money-back guarantee. If a customer is not completely
satisfied, his purchase price will be promptly refunded, no questions asked.
Simply return the HOME-PAC within 10 days in good condition.
Question: How can readers take advantage of this no-risk offer?
Answer: Although the HOME-PAC is available through retail outlets, this
money back guarantee is available only by ordering direct from this ad.
Send check or money order for purchase price of $19.95 plus $2.00 to cov¬
er shipping and handling, to SIMPLEX SOFTWARE, 220 N. Centre Street,
Dept. A7,
Merchantville, N.J. 08109. Master Card & Visa customers include account
number, expiration date and signature (credit card users speed ordering by
calling collect 609-662-3458). N.J. residents add 6% sales tax. Offer Good
For Limited Time Only.
ii
DEAR EDITOR:
My problem is unusual — in fact
"rare". I am one of an estimated
75-80,000 Americans with ataxias.
These progressive, irreversible
neuromuscular diseases weaken and
uncoordinate motor and sensory
impulses. In my case, while I can
type at an apallingly slow rate, I
can't load typewriter paper myself.
Since I have a mini-income, I
hopefully tried a ZX80 from a 1981
magazine ad. Its operating system
(ROM) quite nicely fits some of my
special needs, so when 8K ROMS came
out, I found a friend to install a
dual-ROM switch and rewired Atari
keyboard. I believe Uncle Clive's
OS is by far the best for me.
Great! But without superior
ease and convenience in I/O access,
I simply cannot handle it at all. I
have never SAVEd a line from it
(although others have) and only
once LOADed to it in 2 1/2 years!
This is because I am unable to
manually operate cassette recorders
myself and lack speech to get help.
With a better keyboard I can easily
(though v-e-r-y slowly) program in
Sinclair BASIC as well as Z80 MC,
but it's lost when I can't SAVE it.
Now a TS-2068, with American-
added user-ease, looks (in reviews)
almost ideal for me, except for its
automatic repeat. Like most of
America's 800,000 neuromuscular
disabilities (such as MD, MS, ALS,
etc.) FA leaves me with too little
dexterity to depress the keys
lightly and quickly.
How can I program repeat out
of TS-2068 as a completely user-
transparent MC routine? How do I
time it? Where in memory do I put
it? I must know what to do
beforehand, because I'll have to
type my stuff for someone else to
enter. No room for hit-or-miss
trial on this first one!
Roger Keffer, President
Friedrich's Ataxia Group in America
Kansas Chapter Lawrence, KS
Timex 2068 and Spectrum provide the
ability to change both initial and
repeat interval of keys using POKES
to system variables. You may set a
delay of 4.25 seconds (255/60) by
POKEing 23561,255 (first delay) and
23562,255 (subsequent delays). If
those don't suffice, I suggest an
MC routine to reset those registers
frequently or a substitute keyboard
scan routine. Readers with other
solutions can write to us — KO.
Some comments for readers who
use Programmers Toolkit 16K by
Softsync — don't REM out any lines
containing GOTO or GOSUB statements
when using the RENUMBER routine.
The renumber routine works very
well but will not renumber a GOTO
or GOSUB if the number that follows
does not exist as a line number.
Toolkit instructions don't say
so clearly, but you can renumber
from any line, not just up to 511.
To use FILL and REVERSE, lift
them out of Toolkit and save them
as separate line 1 REM statements
for use in other programs. FILL
uses 19 bytes starting at 32265?
REVERSE, 20 bytes at 32284. Use a
standard relocation routine.
On my menu-driven programs, I
find, since the menu starts at line
numbers unique to each program, it
helps to reserve variable G for the
menu start line number. Then you
can find the menu start line and
run the program from that line with
GOTO G — two touches of the G key.
R.H. Mitchell, Willowdale, Ontario
What transistor replaces the
ZTX-750 or ZTX-752 in the power
converter that makes +12V & -5V for
the memory chips in the Sinclair or
Timex/Sinclair 16K RAM pack?
J.L. Peeler, Costa Rica
As Syntax reported in May 82, use a
TIP34A to replace this transistor.
Complete collections of back issues
are available — see p.23 — KO
12
Here's my solution to repair
traces on the flexible strip that
goes between the keyboard and the
circuit board.
Bond a piece of 30 AWG buss
wire to the bad trace with a drop
of "Krazy Glue." Then fold the end
over the end of the strip and cut
off the excess.
Ray Moore, San Jose, CA
Krazy Glue^ _ Buss Wire
Flex Strip Cut Off Excess
• • • • •
On page 12, Vol 4 No 10, Oct
83 you recommend a 9 VDC source
good for 650 mA. What kind of setup
do you use to measure this?
Frank Kolar, Fountain Hills, AZ
For those of you who need this kind
of basic electronic information, I
would recommend The Radio Amateur's
Handbook, published by the American
Radio Relay League — KO
I agree with Paul Donnelly's
assessment of The Ins and Outs of
the Timex TS1000 and ZX81 — I found
little new. Your readers may like
Timex-Sinclair Interfacing by James
M. Downey and Don Rindsberg ($10.95
from Prentice-Hall). A broader
selection of projects are described
in more detail than in Thomasson's
book. Still, it's not perfect —
there's nothing on PIO's, for
instance. It's a good place to
start and better value for money.
I purchased a 2068 from Sears,
but I'm frustrated by the missing
pinout for the two expansion ports.
I haven't been able to get one from
Timex, either. As a service to your
readers could you print pinouts and
a full schematic?
Does any body know if Memotech
32K RAM packs use the top 40 bytes
of the 8 to 16K block of memory?
Paul W. Hunter, Okemos, MI
Call 1-8 00/2 4-TIMEX & tell 'em what
you want — ALL OF YOU — we'll respond
After months of performing well
recently my ZX81 can't LOAD tapes.
On the TV I get several seconds of
black and white noise, then noise
with broad black and white stripes.
Now the screen goes white and after
a second or two offers K. Hitting
space before I get K doesn't affect
the screen. I bought a better tape
and entered, ran, and saved a 600-
step program. Right after saving
it, I loaded it okay. Trying to
load it another day produced the
same condition.
George F. Putnam, Florissant, MO
I have a ZX 81 with a 16K RAM
module. While entering a program my
TV screen went black. When I reset
the computer all I could get was a
clear screen with the K missing
from the black square in the lower
left corner of my screen. I pressed
NEW and ENTER; my screen went black
again. Unplugging the 16K module
returned things to normal.
Charles Davis, Tompkinsville , KY
Noise makes the computer quit the
LOAD and execute NEW. Black on the
TV denotes positive signals at the
EAR jack; white, no signal. Thus,
white-flecked black bars mark drop¬
outs, black marks in white spaces
mean noise spikes.
Test with short programs and
find out if it goes with recorder,
cassette, RAM or computer.
If only newly made tapes LOAD
suspect a signal-to-noise ratio
problem: a small signal buried in
normal noise or a strong source of
noise hiding normal signals. If
the noise isn't on the signal at
pin 20 of IC1, replace it.
Sounds like Charles' RAM has a
problem on data line 7. When you
only find this with with a RAM pack
look for a bad RAM chip or edge-
connector contact — KO.
13
FIRSTLOADER — FROM ZX/TS TO 2 068
Syntax commissioned a custom
program, written by David Ornstein,
to convert your existing programs
for the 2068 or 48K Spectrums.
This program translates input
bytes from ZX/TS tapes to an equal
number of output bytes in your 2068
that you must edit, and then save.
Codes & program control structures
differ in the two designs, making
functionally identical programs
use different numbers of bytes.
Create the program in two
parts — the translation table shown
here and the executable portion.
Direct tables, such as this,
consist of an address, derived from
the input code, containing an entry
that equals a desired output code.
Our table address consists of the
CODE of the ZX/TS character +44000.
Entries consist of 2068 codes to
produce the character, command, or
function. If no one corresponding
code exists, we pick a substitute
to hold the space. Then we edit
the translated program as needed.
Use the table shown to produce
the translator as Syntax tested it.
We suggest you fill the table area
with code 127 as you begin. That
way, listing the table produces (C)
symbols if you miss any entries.
You can modify the translation
table to substitute any byte. Add
44000 to the ZX/TS character code,
then POKE that address in your 2068
with the code you want the program
to contain. Codes below 32 trigger
errors in the display.
For example, say you want SLOW
changed to REM. You take 228, the
ZX/TS code for SLOW, add 44000, and
POKE 44228,234— the 2 068 REM code.
You can enter the executable
code in whatever form you find
convenient — we've provided both hex
and decimal listings — but only the
assembler listing is annotated.
Save the 2068 program using
SAVE "FIRSTLOADR"CODE 44000,1250.
Make several copies & VERIFY each.
To use the tape, CLEAR 43999,
then LOAD"FIRSTLOADR"CODE (enter).
When the 2068 displays 0 OK, 0:1
Position your ZX/TS tape in the 5-
second quiet spot. Activate the
loader by typing RAND USR 45000,
and observe the red and black
stripes in the border area. Then
start the ZX/TS tape and observe
the stripes again as they change
width, indicating ones and zeros in
the incoming data.
You will need a lower volume
setting than if you were loading to
a ZX/TS from the same recorder.
You may find a Winky board eases
loading. In some cases a 0.2 uF
capacitor in series with the center
14
conductor of the ear cord and a lk
resistor shunting the 2068 ear jack
permits a wider range of volume
settings for the ZX/TS tapes.
When the converter finds the
end of the VARS area on the tape it
switches from load to convert. At
completion, your 2068 will display
0 OK, 0:1. LIST your proram and
look for junk. If your translation
looks OK, save it to a 2068 tape
before you proceed. If the screen
fills with garbage, or you get no
listing, or LOADing of the ZX/TS
tape stops early, type NEW, then
try a different volume setting.
Edit the 2068 version to
account for differences in comments
and codes. Of course you can also
add color functions to the 2068
program thus created.
Not all keywords translate
sensibly — check your output list
for the following:
Keyword
CHR$
CODE
FAST
PAUSE 0
PEEK
PLOT
POKE
UNPLOT
USR
SCROLL
SLOW
Shift Q
Action
Change char code
Change compared value
Delete SpacE
Delete or use PAUSE 1
Change address
Reprogram
Change address, data
Reprogram SpacE
Change address
Delete SpacE or use PRINT
Delete SpacE
Change SpacE to " " "
Also, the program removes all ZX/TS
inverse characters, substituting
normal characters, and translates
the half-tone character graphics to
solid blacks of the same shape.
After editing, save the latest
updated and enhanced program for
use with the 2068.
By modifying the translation
table, you can substitute user-
defined graphics as you convert.
You can purchase this program
on tape for $19.95 ppd from E-Z
Key, Suite 75-STX 711 Southern
Artery, Quincy, MA 02169. Call
617/773-1187 to use VISA or MC.
This table shows addresses to
POKE, in steps of five, with the
values reading lef t-to-r ight for
the 5 successive locations. POKE
them manually or write a loop to
advance the address automatically.
These decimal codes correspond to
the hexadecimal assembly listing on
the following pages.
On the following pages you'll
find FIRSTLOADER code, assembled to
location 45000. This excludes the
translation table. Read columns as
follows: hex address, hex code for
instruction, assembler line number
(ignore it), assembler label (for
human use), then a Z80 instruction
mnemonic or assembler pseudo¬
operator, operand mnemonics, and a
semicolon followed by comments.
1 5
AFC 8
00100
ORG
AFC 8
CD3CB0
00110
CALL
AFCB
CDDEAF
00120
CALL
AFCE
0607
00130
LD
AFDO
3676
00140
INCASE
LD
AFD2
23
00150
INC
AFD3
1 OFB
00160
DJNZ
AFD5
CD59B0
00170
CALL
AFD8
CD8EB0
00180
CALL
AFDB
C9
00190
RET
AFDC
CF
00200
ERR3
RST
AFDD
03
00210
DEFB
C01 4
00220
E 1 LINE
EQU
CO 15
00230
E2LINE
EQU
AFDE
21 09C0
00240
LOADER
LD
AFE1
1 10C00
00250
LD
AFE 4
19
00260
ADD
AFE5
36FE
00270
LD
AFE 7
A7
00280
AND
AFE 8
ED52
00290
SBC
AFE A
CDFBAF
00300
LL36
CALL
AFED
71
00310
LD
AFEE
7C
00320
LD
AFEF
FEOO
00330
CP
AFF1
2 8E9
00340
JR
AFF 3
CD4BB0
00350
CALL
AFF6
CD2EB0
00360
CALL
AFF9
1 8EF
00370
JR
AFFB
0E01
00380
INBYTE
LD
AFFD
0600
00390
LL3
LD
AFFF
CD44B0
00400
LL32
CALL
BO 0 2
3E7F
00410
LD
BOO 4
DBFE
00420
IN
B006
IF
00430
RRA
BO 0 7
3031
00440
JR
B009
1 7
00450
RLA
BOOA
1 7
00460
RLA
BOOB
1 7
00470
RLA
BO OC
3802
00480
JR
BOOE
1 8EF
00490
JR
BO 10
D5
00500
LL3 8
PUSH
BO 1 1
1 E9 4
00510
LD
BO 1 3
0 6 1 A
00520
LL4
LD
BO 1 5
ID
00530
LL5
DEC
BO 1 6
DBFE
00540
IN
BO 1 8
1 7
00550
RLA
BO 1 9
1 7
00560
RLA
BO 1 A
CB7B
00570
BIT
BO 1C
7B
00580
LD
BO 1 D
38F4
00590
JR
BO 1 F
1 0F4
00600
DJNZ
B021
D 1
00610
POP
B022
2004
00620
JR
B02 4
FE56
00630
CP
BO 2 6
30D5
00640
JR
45000
FNAME
LOADER
B, 7
(HL) ,118; ZX/TS NL
HL
INCASE
XLATE
MAKPRG
8
3
49172; ZX/TS E-LINE + 32K
49173
HL ,49161 ; ZX/TS VERSN + 32K
DE, 12
HL , DE ; SKIP 12 BYTES HL PT 49173
(HL) , 00FEH ; LOAD AT LEAST 256 BYTES
A
HL , DE
INBYTE ; GET BYTE IN C
(HL) ,C ; STORE THE ZX/TS BYTE
A , H
0
Z , ERR3
EFIX ; IF HL=E2LINE ADD 128 TO HI
ENDBYT ; BYTE ( IND HL) . LAST BYTE?
LL36
C, 1
B , 0
BORDER ; FLIP COLOR
A , 0 0 7FH
A, (00FEH)
NC , LL7 ; IF BREAK IS PRESSED
C ,LL38 ; IF HAVE A SIGNAL
LL32
DE
E, 148
B , 26
E
A, (00FEH)
7 , E
A , E
C , LL4
LL5
DE
NZ , LL6
86
NC , LL3
16
B02 8 3F 00650 LL6 CCF
B0 29
CB 1 1
00660
RL
B02B
30D0
00670
JR
B02D
C9
00680
RET
B02E
23
00690
ENDBYT
INC
B02F
EB
00700
EX
B0 30
2Al 4C0
0071 0
LD
B0 3 3
37
00720
SCF
B034
ED5 2
00730
SBC
B0 36
EB
00740
EX
B037
DO
00750
RET
B038
Cl
00760
POP
B039
C9
00770
RET
B0 3A
CF
00780
LL7
RST
B03B
OC
00790
DEFB 12
B03C
CDFBAF
00800
FNAME
CALL
B0 3F
CB79
00810
BIT
B0 4 1
28F9
00820
JR
B043
C9
00830
RET
B0 4 4
78
00840
BORDER
LD
B0 45
EE02
00850
XOR
B0 4 7
D3FE
00860
OUT
B049
47
00870
LD
B04A
C9
00880
RET
B04B
11 1 5C0
00890
EFIX
LD
B04E
7A
00900
LD
B04F
BC
00910
CP
B0 50
CO
00920
RET
B0 5 1
7B
00930
LD
B052
BD
00940
CP
B0 5 3
CO
00950
RET
B054
7E
00960
LD
B055
C680
00970
ADD
B05 7
77
00980
LD
B0 5 8
C9
00990
RET
B059
21 7DC0
01000
XLATE
LD
B05C
7E
01010
LXL 1
LD
B05D
FE76
01020
CP
B05F
C8
010 30
RET
B060
CD65B0
01040
CALL
B063
1 8F7
01050
JR
B0 65
110400
01060
LINE
LD
B068
19
01070
ADD
B069
3E7F
01080
LLIN1
LD
B06B
DBFE
01090
IN
B06D
IF
01100
RRA
B06E
3 OCA
01 1 10
JR
B0 70
7E
01120
LD
B0 7 1
FE7E
01130
CP
B0 7 3
2008
01140
JR
B0 75
360E
01150
LD
B0 7 7
1 10600
01160
LD
B07A
19
01170
ADD
B0 7B
1 8EC
01180
JR
C
NC,LL3
HL ; WAS THAT THE LAST BYTE?
DE , HL
HL , (El LINE ) ; IS HL PAST IND E 1 LINE?
HL ,DE
DE , HL
NC
BC ; GO BACK TO MAIN ROUTINE
8
INBYTE ; LOOK FOR 1ST INVERSE CHAR
7 , C
Z,FNAME; KEEP LOOKING
; NOW START LOADING ZX CODE
A , B ; FLIP BORDER COLOR 2 OR 0
2
( 00FEH) , A
B , A
DE ,E2LINE ; DID I JUST LOAD TO E2LINE
A , D
H ; COMPARE HI BYTE
NZ
A , E
L ; COMPARE LO BYTE
NZ
A , (HL)
A, 128 ; ADD 32K
(HL) ,A
HL ,49277; 1ST BYTE OF 1ST LINE #
A, (HL) ; AT 16509+32K
118 ; IS IT 1ST NL IN ZX D-FILE
Z ; IF SO , YOU'RE DONE
LINE
LXL 1
DE , 4 ; SKIP LINE # & LENGTH
HL , DE
A , 0 0 7FH ; TEST BREAK ON 206 8
A , ( 00FEH) ; GET CHAR IN ACCUM
NC , LL7 ; EXIT IF BREAK PRESSED
A, (HL) ; GET BYTE
126 ; CHECK FOR ZX/TS SLUG
NZ , LLIN2 ; GET CODE FROM TABLE
(HL) , 1 4 ; SUBST 2068 SLUG
DE , 6 ; SKIP SLUG + 5 BYTES
HL , DE
LLIN1 ; DO IT AGAIN
17
B0 7D
E5
01190
LLIN2
PUSH
B0 7E
1 1E0AB
01200
LD
B0 8 1
2600
01210
LD
B0 8 3
6F
01220
LD
B0 8 4
19
01230
ADD
B0 85
7E
01240
LD
B0 86
El
01250
POP
B0 8 7
77
01260
LD
B0 8 8
23
01270
INC
B0 89
FE0D
01280
CP
B0 8B
20DC
01290
JR
B08D
C9
01300
RET
B08E
1 1 7DC0
01310
MAKPRG
LD
B0 9 1
A7
01320
AND
B09 2
ED52
01330
SBC
B09 4
44
01340
LD
B095
4D
01350
LD
B096
C5
01360
PUSH
B0 9 7
2A4B5C
01370
LD
B09A
2B
01380
DEC
B09B
ED5B535C
01390
LD
B09F
D5
01400
PUSH
B0A0
CDBB 1 2
01410
CALL
B0A3
D 1
01420
POP
B0A4
ED53535C
01430
LD
B0A8
Cl
01440
POP
B0A9
23
01450
INC
B0AA
23
01460
INC
B0AB
EB
01470
EX
B0AC
21 7DC0
01480
LD
B0AF
EDB0
01490
LDIR
BOB 1
C9
01500
RET
BORDER
B0 4 4
00840
00400
El LINE
C01 4
00220
00710
E 2 LINE
CO 15
00230
00890
EFIX
B04B
00890
00350
ENDBYT
B02E
00690
00360
ERR 3
AFDC
00200
00340
FNAME
B03C
00800
00110
00820
INBYTE
AFFB
00380
00300
00800
INCASE
AFD0
00140
00160
LINE
B065
01060
01040
LL3
AFFD
00390
00640
00670
LL32
AFFF
00400
00490
HL ; STORE THE BYTE ADDRESS
DE, 44000; TABLE START ADDRESS
H,0 ; PUT ZX/TS CHAR CODE IN HL
L , A
HL , DE ; ADDRESS OF BYTE IN TABLE
A , (HL) ; GET BYTE FROM TABLE TO A
HL ; RECALL BYTE ADDRESS,
(HL) , A ; PUT NEW CODE IN OLD ADDRESS
HL
13 ; CHECK FOR 2068 NL
NZ , LLIN 1 ; NO, DO IT AGAIN
; FINISHED THAT LINE
DE ,49277; APPEND PROG TO 2068 CONTENT
A
HL ,DE ; HL PT 1ST BYTE OF D-FILE
B, H ; BC = NO. BYTES IN PROGRAM
C , L
BC ; SAVE SIZE OF PROG
HL, (23627); ADDRESS OF 2068 VARS
HL
DE, (23635); ADDR OF 2068 BASIC PROG
DE ; SAVE PROG SYSVAR
4795 ; CALL ROM INSERT-USE 5717 ON
DE ; SPECT-RESTORE PROG SYSVAR
(.23635) , DE
BC ; BYTE COUNT OF PROG
HL
HL
DE , HL ; DE=DATA DESTINATION
HL , 49277 ; START OF STUFF TO MOVE
; BLOCK MOVE
LL36 AFEA 00300 00370
LL3 8 B0 1 0 00500 00480
LL4 B0 1 3 00520 00590
LL5 B0 1 5 00530 00600
LL6 B02 8 00650 00620
LL7 B03A 00780 00440 01110
LLINl B069 01080 01180 01290
LLIN2 B07D 01190 01140
LOADER AFDE 00240 00120
LXL1 B05C 01010 01050
MAKPRG B08E 01310 00180
XLATE B0 59 01000 001 70
Only one change will make this
program work with a 48K Spectrum as
well. At B0A0H (45216 decimal), we
call a ROM routine located at 4795
in the TS2068 and at 5717 in the
Spectrum. These routines create an
empty space, but you must fill it.
Most of this code is self-
contained. Only the routine XLATE,
located at 45145, passes a value to
the code for MAKPRG. If you modify
code, restore the value held in HL
on return from address 45151 prior
to calling MAKPRG.
18
SOFTWARE REVIEW
Program: Tax Return Helper
Type: Home/Business
ROM/RAM reqd : 8K/16K
Written in: BASIC
From: KSOFT Co.
845 Wellner Road
Naperville, IL 60540
(312) 961-1250
Price: $14 for TS1000,
$18 for TS2000
No matter who you are, once a
year you must pay income taxes.
Many find the job complicated
enough to seek expert help. The
most difficult aspect of prepara¬
tion, it seems, lies not in knowing
tax law, but in computing the fig¬
ures and correlating entries on the
forms. Often various forms or
values use another specified value.
Suppose after you complete the
form you find an error or an over¬
looked check stub. You may need to
make ten changes on the return to
correct the omission.
But Tax Return Helper can make
preparing and correcting your in¬
come taxes simple and efficient.
This user-friendly program
uses an automatic data transfer
system that makes it work like an
electronic spreadsheet, assuring
smooth, accurate data correlation
between forms.
Even after you enter data or
complete the return, you can easily
make corrections. Just enter the
new figure on the appropriate line
and the computer updates all lines
that entry interacts with.
I tested five tax return pro¬
grams. Only this version from
KSOFT features this system, similar
to those found in professional
software packages selling from sev¬
eral hundred to $1000 or more.
With Tax Return Helper you can
print the entire form or just copy
the screen in a 32-character for¬
mat, then transfer data to federal
forms and save everything on tape.
Despite the functional ease of
the software, it exhibits flaws.
For example, I found three consis¬
tent spelling errors — annoying but
they did not interfere with the
program's performance.
Gabriela Abramovici, KSOFT
president, assured me that her
quality control department fixed
the mistakes and future editions
will arrive perfect.
In the entire package, the
documentation falls short. The
poorly written instructions need
revision. Although the directions
detract from the overall excellence
of the package, its user-friendli¬
ness more than makes up for what
the instructions lack.
Toward the end of my testing,
the cursor developed an apparently
benign quirk — it changed from its
usual inverse space to the word
PLOT, then after I entered data to
?LOT . This didn't seem to affect
program operation and it returned
to normal after the system correl¬
ated the affected lines.
As a result of consisting
entirely of BASIC, the program
handles interaction within the
forms somewhat slowly. As a pro¬
fessional tax preparer, I find this
limiting. I'd like a 64K machine
code version to allow all the sup¬
plied forms to interact swiftly and
interface to a full-size printer.
For professional use, I would also
like to see form 4972 or maybe
Schedule G for income averaging.
All in all, KSOFT presents a
superior package for home use. You
can get the 1983 edition in Janu¬
ary. The program provides Form
1 04 0 and Schedules A, B, C, D and
E. A short test program helps you
set the proper loading volume.
As a professional courtesy, I
remind you that no matter how you
prepare you taxes, you are solely
responsible for it and must prove
your deductions if audited and pay
any additional taxes or penalties.
Victor M. Font Jr., P.0. Box 1436,
Bayonne, NJ 07002-6436
19
MEMOTEXT SPECIFICS
Overall, I think Memotech pro¬
duces a powerful word processing
module. I would like to add these
observations to the Memotext word
processor review, just published in
SYNTAX Sep. 8 3 :
Major Advantages:
1. Memotext totally redefines KB
(keyboard) functions to operate as
a typewriter — without shift, you
type lower case letters, numbers,
space and period. Shifted letters
become upper case. You can't pro¬
duce graphics. You can get other
KB symbols such as <, " and ? using
easy special commands and symbols
not available on the KB such as !,
# and @ with ASCII character hex
code commands, if your printer
recognizes them. Letters, numbers
and DELETE repeat when you hold the
key. You can type very fast.
2. When text contains syntax or
command errors, the system displays
clear, meaningful prompts before
printing or saving.
Serious Disadvantages:
1. Deletes only single characters
or erases the entire document — no
words or lines.
2. Lacks a memory-remaining mode.
Minor Disadvantages:
1. Space key does not repeat.
2. Cursor moves only one character
or line at a time.
3. Switching the unit off requires
you to reset the computer to clear
the screen.
Observations :
1. Right margin justification may
fail by one or two characters. It
also often puts extra space in poor
locations, like between a paragraph
number and the first word.
2. The manual lacks example text
inputs and the resulting print, and
does not illustrate cursors.
Cedric Bastiaans, Los Angeles, CA
CASH REGISTER — 8K/16K
Cash Register lets your ZX/TS
act like a cash register record
keeper for a small retail store.
It records sales to each customer
by item number, price, tax (if any)
and price plus tax for each item.
It shows each customer's subtotal
and gives end-of-day totals.
Enter the tax rate for your
area, each item's price, whether it
is taxable and the flag to go to
subtotal. After each customer an¬
swer Y/N to go to another customer
or to ending totals. At line 65,
enter Cl if using a TS printer to
get printed output as well.
This program rounds all fig¬
ures to two decimal places. I used
0 as a flag because you likely
won't find it as a price. If you
must use 0 as a price, change lines
85 and 100 to -1. The program
requests Y/N to taxable or not.
For a fixed tax rate, delete
lines 20 and 25 and change line 92
to LET T=tax rate in decimal form.
REM statements list the vari¬
ables used; delete them if you wish
to save memory.
Record up to 50 customers with
Cash Register as written. With
more memory, increase the higher
numbers in line 90 and 190.
If you won't use a printer,
delete lines 63-65, 73, 88, 166,
176, 181, 211, 251-254, 311, 341,
361 and 370.
/
Arthur Field, Holden, MA
20
21
UNJOMBLE WORD GAMES — 8K/2K
CLASSIFIED ADS
Our local newspaper carries a
scrambled word game. This program
helps me unscramble any word.
RUN Unjumble in FAST. Until
it fills, the screen blanks. For
short words, hit BREAK to see the
list. If you see no correct word,
press CONT for more combinations.
Successive screens take longer. In
2K, you can do at most 5 letters.
C. Inman, Harmony, RI
This program isn't fast, but it's
persistent. To avoid waiting for¬
ever for a new word that didn't
exist, I added this routine to
count how many words the computer
already came up with. With a word
of n letters, you can make n! pos¬
sible combinations. With a five-
letter word, for example, 5! means
5*4*3*2 *1 , or 120.— AZ
Reach thousands of ZX/TS users — for
just $9/line! Send your typed copy
(35 characters per line) with check
or MO to reach us by the 15th to be
published in the next issue exactly
as typed. No fractions or cent
symbols. Include your phone No.
SYNTAX Classified,
RD 2, Box 457, Harvard, MA 01451.
****** LEARN ASSEMBLER EASILY *****
* Machine code doesn't load? *
* Find textbooks confusing? *
************ ZX81 - 16K ***********
Loader/saver program on cassette
with instructions and intro booklet
$14.95 (CA add 6%) + $1.00 P&H CK/MO
ORANGE COAST SOFTWARE CORPORATION
PO Box 951, Midway City, Ca.
92655
SERVICE from SYNTAX:
$ US
o
Zilog Z80-Z80A Tech. Man
7.88
o
Zilog Assy Lang Prog Man
15.75
0
Crash Course in Micros
Hardware and Mach Lang
19.95
0
Exper. in Artfcl Intell
AI Programs for Micros
9.95
0
Programmer's Market
16.95
0
Plastic Micro Charts
Z80 CPU
5.95
8080A & 8085A
5.95
8048 & RELATIVES
5.95
6502 (65XX)
5.95
BASIC ALGORITHMS
5.95
Any 5 charts for
24.95
Shipping & handling charges:
Micro Charts $l/order
Books (except Zilog) $1.50/book
ORDER by telephone: 617/456-3661
PAY by MC/VISA/AMEX/DINERS
ELIZA FOR 16K T/S. DOES YOUR
COMPUTER ANSWER YOU? ELIZA DOES.
SIMULATES PSYCHOTHERAPY/COMPUTER
INTELLIGENCE. CASSETTE $14.95
SINCLAIR SOFTECH P. 0. BOX 82A
SINCLAIR, WY 82334
Just 300 bargains available — order
only by phone, pay only by credit
card — The ZX81/TS1000 Home Computer
Book by David C. Foyt. Shipped to
you for $1 0+$1.5 0 P&H: 617/456-3661
22
SYNTAX is published monthly by a wholly-
owned subsidiary of The Harvard Group.
Syntax ZX80, Inc.
RD 2, Box 457, Harvard, MA 01451. Telephone
617/456-3661.
12 issues, $29. Single issue, $4.
Publisher: Kirtland H. Olson
Consulting Editor: Ann L. Zevnik
Technical Consultant: Kirtland H. Olson
© Syntax ZX80, Inc., 1983. All rights reserved.
Photocopying prohibited. ISSN 0273-2696
OUR POLICY ON CONTRIBUTED MATERIAL
SYNTAX invites you to express opinions related to any Sinclair computer or
peripheral, or the newsletter. We will print, as space allows, letters discussing items
of general interest. Of course, we reserve the right to edit letters to a suitable length
and to refuse publication of any material.
We welcome program listings for all levels of expertise and written in either
Sinclair BASIC or Z80 machine code. Programs can be for any fun or useful
purpose. We will test run each one before publishing it, but we will not debug
programs; please send only workable listings. Programs submitted on cassette can be
tested more quickly and with less chance of error.
In return for your listing, we will pay you a token fee of $2.00 per program we
use. This payment gives us the nonexclusive right to use that program in any form,
world-wide. This means you can still use it, sell it, or give it away, and so can we.
We will consider submissions of news and hardware or software reviews. Please
keep articles short (350-400 words). Again, we reserve the right to edit accepted
articles to a suitable length. We will pay 7 cents per 6 characters, including spaces
and punctuation, for accepted articles.
When you send in programs for possible publication in SYNTAX, please
include the following information:
• How to operate the program, including what to input if it does not contain
prompts.
• Whether you can run the program over again and how.
• How to exit the program.
• The Syntactic Sum (program published in Feb. 81 and Jun. 81; send SASE
for a free copy).
• What RAM size program requires.
• What ROM program uses.
We pay for this explanatory text at the same rate as for articles in addition to
payment for the program itself.
If you want us to return your original program listing or article, please include
a self-addressed, stamped envelope. Otherwise, we cannot return submitted material.
INTRO. TO COMPUTER PROGRAMMING FOR
INFO. SERVICES (TS1 000/15 00) . $20.
UCLA Course Notes. MC/VISA (213)
760-8110. Cibbarelli, 11684 Ventura
#295, Studio City, Ca 91604.
USEFUL SOFTWARE with USEFUL MANUALS
(16k ZX & T/S) How to use it, how
it works, how to modify it.... STOCK
PLOT. . .MEMBERSHIP DIRECTORY. . .GAMES
SCOREBOARD, and more. $14 manual &
tape, $9 manual & list? incl. $1.50
P & H (CA res. add 6.5% tax), SEND
FOR CATALOG . Kendric C. Smith,
927 Mears Court, Stanford, CA 94305
Three programs. $12. 50/each. *ZX81
TEXT PROCESSOR* 32K, 2 000 Words cpty.
*ZX81 APPOINTMENT CALENDAR* 32K, 50
Events cpty. *TIC-TAC-TOE*16K. Chk/
M.O.to A. Rodriguez ,1605 Penn. Ave.
No. 204, Mia. Bch. , FI. 33139
**REMOTE "POWER SQUEEZER" CONTROL**
TRANSFORM YOUR ZX81/TS1 00016K RAM
INTO A HOME ENERGY CONTROL SYSTEM.
POWER SQUEEZER TRANSMITS ON HOUSE
WIRING TO BSR RECEIVERS. RECEIVERS
AVAILABLE EVERYWHERE. POWER SQUEEZ¬
ER PLUGS INTO CASSETTE PORTS. USER
FRIENDLY PROGRAM ON QUALITY CASSET¬
TE + APPLICATION NOTES. 6 MONTH LI¬
MITED WARRANTY. ***$79 . 95***UPS AIR
MC & VISA CALL 801-943-9857, OR
SEND CHECK/MONEY ORDER (USA FUNDS)
TO: GOLDWATER MANUFACTURING COMPANY
PO BOX 1715 SANDY UTAH 84091
Fill out the coupon below and mail it to: SYNTAX RD2 Box 457, Harvard, MA 01451
s 12/83
My check is enclosed. ! Please charge my VISA
Make checks payable to: Diner’s Club I i American
SYNTAX ZX80. Inc. Express I ! Mastercard
i i Carte Blanche account
Account number _
Exp. date — _ _ Bank number (MC only) _
Signature _ _ _ _
Name _ _ _
Address _ _
City - - State _ _Zip _
YES! Please send me:
□ The Combination (12 issues of SYNTAX and 4 issues
of SQ) . $39
□ The Catch-up (SYNTAX Jan. 82-Dec. 83, SQ Winter 82-
Winter 83, plus 1 binder) . $77
□ The Works (SYNTAX Nov. 80-Nov. 83, SQ Winter 82-
Winter 83, plus 2 binders, a 50% savings) . $97
□ 12 issues of SYNTAX . $29
□ 4 issues of SQ. The Syntax Quarterly . $15
D 1 issue of SQ D Premier D Spring D Summer
□ Autumn 83 . $4.95
□ 1 Binder . $9 □ 1 issue of SYNTAX . $4
Day phone ( ) _ Evening phone (
□ My subscription number is: _
! This is a new subscription.
Telephone orders call
617-456-3661
These offers expire 1 730 / 84 —SUBSCRIBE NOW.
23
SYNTAX
16K PERSONAL FINANCE PROGRAM TAPES
****RETURN ON INVESTMENT****
Evaluate stocks , real estate, money
funds, savings, etc. Rate of return
& Gain/Loss. Compare Investments.
******INCOME PORTFOLIO******
Monthly & annual record & graphics.
Excellent income tax data record.
**Self prompting & Printer copies**
$14.95 each, $24.95 both. Check or
money order. RAE, 604 Danley Drive,
Fort Myers, FL 33907
1983 TAX RETURN HELPER. 5 programs
for FORM 1040 & Schedules A,B,C,D,E
Data is easy entered and modified
on a screen copy of the form. All
the lines affected by a change are
instantly updated. FORM1040 & Sch.A
are corelated. $14 TS1000(16K RAM)
$18 TS2068 (+$1.50 s&h) . From KSOFT
845 Wellner, Naperville, IL60540
ZX PRO/FILE: the most advanced best
documented file manager you can put
in your computer. 16-64K, flexible
file size, FAST access, multi-word
search, 59 page text, more . . . $16 . 95
******************
PRO/FILE Updates-the newsletter for
ZX Pro/File users-Mods enhancements
Learn about disk, CAI compatibility
4 issues yearly . $9.95
Visa/MC welcome (603) 586-7734
Tom Woods Box 64 Jefferson, NH 03583
************MICR0- load ******* ******
UNUSUAL SOFTWARE *FULLY GUARANTEED**
P.0. BOX 1095, T OR C,NM 87901******
(C) VIDEO BLACKJACK: Graphic cards.
Player VS computer. Screen scoring.
More! * (cassette + instruct) — 10.95
(C) WORDTEASE : Game will BOGGLE your
mind. On screen scoring and more!!!
*(cassette + instruct) - 10.95
*Requires 16K RAM. GUARANTEED!!!!!!
Add $1.50 S&H per order. NJ 6% tax.
M.C. HOFFMAN, DEPT. SX12 , P.O.
BOX 117, OAKLAND, N.J. 07436
******game changer interface*******
* TS1000 — ATARI 2600 VGS *
Two D.S.T.P. Boards, cable and
connectors (uncased fully socketed)
Software on cassette — plus
instructions and documentation.
10K Static RAM +4Kx2K Bank Switch¬
ing Mem. Monitor and 6502 Dis¬
assembler. Emulates 2K, 4K and 8K
(Bank Switched) Cartridges.
You can DOWNLOAD-SAVE-DISASSEMBLE-
EXECUTE-MODIFY & ORIGINATE GAMES.
Assembled & Tested: $139.95
Plus $5.00 S & H (Continental US)
MICH Res. add 4%. Send check or
Money Order (NO COD) to:
Huron Valley Research Inc
P 0 Box 732
* Highland, MI 48031 *
***********************************
H\R\ARD
GROU3
Bolton Road, Harvard, Mass. 01451
U.S. Postage
PAID
Harvard, MA
First Class p "iS “ 8
\